<?php

/**
 * unidadfuncional actions.
 *
 * @package    sf_sandbox
 * @subpackage unidadfuncional
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class unidadfuncionalActions extends sfActions {

    public function executeShow(sfWebRequest $request)
  {
    $this->unidad_funcional = Doctrine_Core::getTable('UnidadFuncional')->find(array($request->getParameter('id')));
    $this->forward404Unless($this->unidad_funcional);
  }
    public function executeIndex(sfWebRequest $request) {
        $this->unidad_funcionales = $this->getPager(UnidadFuncionalTable::getBuscarUnidades("",""), $request->getGetParameter('page'), "UnidadFuncional");
    }

    public function executeNew(sfWebRequest $request) {
        $this->form = new UnidadFuncionalForm();
         
    }

    public function executeCreate(sfWebRequest $request) {
        $this->forward404Unless($request->isMethod(sfRequest::POST));

        $this->form = new UnidadFuncionalForm();

        $this->processForm($request, $this->form);

        $this->setTemplate('new');
    }

    public function executeEdit(sfWebRequest $request) {
        $this->forward404Unless($unidad_funcional = Doctrine_Core::getTable('UnidadFuncional')->find(array($request->getParameter('id'))), sprintf('Object unidad_funcional does not exist (%s).', $request->getParameter('id')));
        $this->form = new UnidadFuncionalForm($unidad_funcional);
    }

   
    public function executeUpdate(sfWebRequest $request) {
        $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT));
        $this->forward404Unless($unidad_funcional = Doctrine_Core::getTable('UnidadFuncional')->find(array($request->getParameter('id'))), sprintf('Object unidad_funcional does not exist (%s).', $request->getParameter('id')));
        $this->form = new UnidadFuncionalForm($unidad_funcional);

        $this->processForm($request, $this->form);

        $this->setTemplate('edit');
    }

    public function executeDelete(sfWebRequest $request) {
        $request->checkCSRFProtection();

        $this->forward404Unless($unidad_funcional = Doctrine_Core::getTable('UnidadFuncional')->find(array($request->getParameter('id'))), sprintf('Object unidad_funcional does not exist (%s).', $request->getParameter('id')));
        $unidad_funcional->delete();

        $this->redirect('unidadfuncional/index');
    }
  public function executeEliminar(sfWebRequest $request) {
           $this->forward404Unless($this->unidad_funcional = Doctrine_Core::getTable('UnidadFuncional')->find(array($request->getParameter('id'))), sprintf('Object Unidad funcional does not exist (%s).', $request->getParameter('id')));
                         
    }
    protected function processForm(sfWebRequest $request, sfForm $form) {
        $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
        if ($form->isValid()) {
            $unidad_funcional = $form->save();
          $this->redirect('unidadfuncional/index');
           
        }
    }

    public function executeBuscarContribuyente(sfWebRequest $request) {
        $this->setLayout("busqueda");
    }

    public function executeBuscarCategoria(sfWebRequest $request) {
        $this->setLayout("busqueda");
    }
public function executeBuscarCalle(sfWebRequest $request) {
        $this->setLayout("busqueda");
    }
    public function executeBuscarBarrio(sfWebRequest $request) {
        $this->setLayout("busqueda");
    }
     public function executeBuscarUnidadFuncionales(sfWebRequest $request) {
        if ($request->isMethod('post')) {
            $contribuyente = $request->getPostParameter("contribuyente");
            $codigo = $request->getPostParameter("codigo");
           } else {
            $contribuyente = $request->getGetParameter("contribuyente");
            $codigo = $request->getGetParameter("codigo");
          }
        $this->unidad_funcional = $this->getPager(UnidadFuncionalTable::getBuscarUnidades($contribuyente,$codigo), $request->getGetParameter('page'), "UnidadFuncional");
        if ($request->isXmlHttpRequest()) {
            return $this->renderPartial("unidadfuncional/listadoUnidadFuncionales", array('unidad_funcionales' => $this->unidad_funcional));
        }
    }
    protected function getPager($q, $page, $model) {
        $pager = new sfDoctrinePager($model, sfConfig::get('app_nro_x_pagina_contribuyente'));
        $pager->setQuery($q);
        $pager->setPage($page);
        $pager->init();

        return $pager;
    }
//************************FILTROS ***************************************************   
     public function executeFiltrarBarrio(sfWebRequest $request) {
        if ($request->isMethod('post')) {
            $dato = $request->getPostParameter("dato");
        } else {
            $dato = $request->getGetParameter("dato");
        }
        $this->barrio = $this->getPager(BarrioTable::getBuscarBarrios($dato), $request->getGetParameter('page'), "Barrio");
        if ($request->isXmlHttpRequest()) {
            return $this->renderPartial("unidadfuncional/resultadoBarrios", array('barrio' => $this->barrio));
        }
    }
     public function executeFiltrarCalle(sfWebRequest $request) {
        if ($request->isMethod('post')) {
            $dato = $request->getPostParameter("dato");
        } else {
            $dato = $request->getGetParameter("dato");
        }
        
        $this->calle = $this->getPager(CalleTable::getBuscarCalles($dato), $request->getGetParameter('page'), "Calle");
        if ($request->isXmlHttpRequest()) {
            return $this->renderPartial("unidadfuncional/resultadoCalles", array('calle' => $this->calle));
        }
    }

    public function executeFiltrarCategoria(sfWebRequest $request) {
        if ($request->isMethod('post')) {
            $dato = $request->getPostParameter("dato");
        } else {
            $dato = $request->getGetParameter("dato");
        }
        
        $this->categoria = $this->getPager(CategoriaAguaTable::getBuscarCategoria($dato), $request->getGetParameter('page'), "CategoriaAgua");
        if ($request->isXmlHttpRequest()) {
            return $this->renderPartial("unidadfuncional/resultadoCategorias", array('categoria_agua' => $this->categoria));
        }
    }

    public function executeFiltrar(sfWebRequest $request) {
       
        if ($request->isMethod('post')) {
            $dato = $request->getPostParameter("dato");
        } else {
            $dato = $request->getGetParameter("dato");
        }

        $this->contribuyentes = $this->getPager(ContribuyenteTable::getBuscarContribuyente($dato), $request->getGetParameter('page'), "Contribuyente");
        if ($request->isXmlHttpRequest()) {
            return $this->renderPartial("unidadfuncional/resultadoContribuyentes", array('contribuyentes' => $this->contribuyentes));
        }
    }
public function executeGestion(sfWebRequest $request) {
//    $this->iduf= $request->getParameter('id');
     $this->unidadFuncional = Doctrine_Core::getTable('UnidadFuncional')->find(array($request->getParameter('id')));
     $this->unidadFuncional;

}
}
